package com.jzo2o.common.expcetions;

import static com.jzo2o.common.constants.ErrorInfo.Msg.PROCESS_FAILD;
import static java.net.HttpURLConnection.HTTP_UNAVAILABLE;

/**
 * 服务不可用异常类，用于表示注册中心找不到对应服务时抛出的异常
 * 对应HTTP状态码：503（服务不可用）
 */
public class ServerUnavailableException extends CommonException {
    /**
     * 使用默认错误消息构造服务不可用异常
     */
    public ServerUnavailableException() {
        this(PROCESS_FAILD);
    }
    /**
     * 使用指定错误消息构造服务不可用异常
     * @param message 错误消息
     */
    public ServerUnavailableException(String message) {
        super(HTTP_UNAVAILABLE, message);
    }
    /**
     * 使用指定原因和错误消息构造服务不可用异常
     * @param throwable 异常原因
     * @param message 错误消息
     */
    public ServerUnavailableException(Throwable throwable, String message) {
        super(throwable, HTTP_UNAVAILABLE, message);
    }
    /**
     * 使用指定原因和默认错误消息构造服务不可用异常
     * @param throwable 异常原因
     */
    public ServerUnavailableException(Throwable throwable) {
        super(throwable, HTTP_UNAVAILABLE, PROCESS_FAILD);
    }
}
